A typical computer network, such as an internet protocol (IP)-based network, supports communications between various network devices. The devices may, for example, include personal computers, laptops, workstations, personal-digital assistants (PDAs), wireless devices, network-ready appliances, file servers, print servers, routers, or other devices. When two devices communicate, the devices establish a communication session using a communication protocol, such as the transmission control protocol (TCP). Devices, referred to as routers, forward packets associated with the communication sessions through the physical network that connects the devices. The flow of packets between the devices for a TCP session is commonly referred to as a TCP flow.
Various kinds of processing of the TCP flow can be done by intermediate devices placed along the path taken by packets that constitute the TCP flow. Some examples of the kinds of processing currently performed on TCP flows between devices include data compression, encryption and decryption, TCP acceleration, application-layer acceleration, anti-virus processing, and intrusion detection and prevention.